This invention provides an improved data storage device, which may be a tape drive arranged to receive data from a computer, or the like. The invention also provides related methods.
An example of a data storage device is the tape drive, which receives user data from computers, particularly, but not exclusively to back-up the user data held on the computer onto a data-holding medium. In such back-up applications it is of prime importance that the user data is retrievable, since generally, this copy is the back-up copy that will only be required if the original has been lost or damaged. Therefore, there is an ongoing need to ensure that back-up data storage devices are as robust and secure as possible.
Once user data has been stored on the data-holding medium it can be held there for long periods. To recover the user data from the data-holding medium the data storage device must read the data-holding medium and regenerate the user data originally stored there. In some devices the user data backed-up on the data-holding medium accounts for only about 40% of the overall information held on the data-holding medium. The remaining 60% of the information is non-user data, such as headers or error detection and correction information that attempts to make the user data as secure as possible.
Therefore, in order to read the user data the storage device must accurately detect which is the user data within all of the information held on the data-holding medium. In view of the amount of information other than user data that is held on the data-holding medium, this can be problematic.
The storage device must also be able to detect and correct as many as possible of the errors which may have occurred in writing the user data to the data-holding medium or reading the user data from it, using the error detection and correction information.
The user data is normally split into discrete items, each item including the user data, the error detection and correction information and a header denoting its position in the writing sequence, a write pass number and header error detection information. If the header is corrupted, the data storage device will be able to detect this, but may not be able to correct it, so that the user data in that data item cannot be recovered. Some known data storage devices are able to correct the header, but not reliably, so that the user data in that data item may not be recovered accurately.
It is an object of the present invention to detect and then reliably correct errors in the header of a data item, particularly where the storage device writes a set of several data items at the same time on a different channels.
According to a first aspect of the invention, a data reader is arranged to read data comprising user data and non-user data written across at least two channels of a data-holding, medium, said data being arranged into a plurality of data items each containing user data and non-user data, with said non-user data holding information relating to said user data, said data reader having a read head for reading a respective said channel of said data-holding medium to generate a data signal comprising said data items, and processing circuitry arranged to receive and process said data signals to identify a set of said data items written at the same time onto different said channels.
The data reader therefore identifies which of the data items were written at the same time, although they may not appear simultaneously on reading because of misalignment of the write heads on the different channels. Being able to identify such a set of data items gives rise to the possibility of correcting header information for a data item, by using the header information from other data items in the set, as the header information for the data items in a set will be similar.
The processing circuitry preferably defines a predetermined time period, such that all data items received within said time period are identified as being in a set. The time period is chosen so that it accommodates the maximum misalignment of the write heads,
Preferably, the time period can be varied, to suit different data storage devices.
Conveniently, the circuitry identifies a set of data items by determining when a predetermined point, :such as the end of each data item is received. Each data item will normally have respective non-user data markers to indicate its start and end.
The processing circuitry may determine the start of each time period by receipt of a predetermined point, such as the end of a single data item or of at least two data items received simultaneously. The data item may be received from a predetermined channel, or more preferably, be the first data item to be received from any of the said channels.
The end of a given time period is preferably determined by the time taken to receive a data item. It may instead be determined by receipt of the start of another data item.
A set of data items may contain data items from some or all of the channels. Preferably, a set of data items contains no more than one data item from any of the channels.
The reader may include a plurality of read heads, each of which is arranged to read a separate channel of data in parallel with one another. In the preferred embodiment the reader comprises 8 read heads, although the reader could comprise any number of read heads. For example the reader may comprise 2,3,4,5,6,7,9,10,11,12,13,14, or more read heads. An advantage of providing multiple read heads is that the rate at which data can be read from the data holding medium is increased
According to a second aspect of the invention, we provide a data storage device incorporating a data reader according to the first aspect of the invention.
In the preferred embodiment the data storage device is a tape drive. Such a tape drive may be arranged to read data held in any of the following formats: LTO (Linear Tape Open), DAT (Digital Audio Tape), DLT (Digital Linear Tape), DDS (Digital Data Storage), or any other format, although in the preferred embodiment the tape is LTO format.
Alternatively, the data storage device may be any one of the following: CDROM drive, DVD ROM/RAM drive, magneto optical storage device, hard drive, floppy drive, or any other form of storage device suitable for storing digital data,
According to a third aspect of the invention, we provide a method of reading data comprising user data and non-user data written across at least two channels of a data-holding mediums said data being arranged into a plurality of data items each containing user data and non-user data, with said non-user data holding information relating to said user data, said method comprising:
reading each said channel of said data-holding medium;
generating a data signal comprising said data items for each channel; and
processing said data signals to identify a set of said data items written at the same time onto different said channels.
The method enables identification of the data items written at the same time, although they may not appear simultaneously on reading, because of misalignment of the write beads on the different channels. Being able to identify such a set of data items gives rise the possibility of correcting header information for a data item, by using the header information from other data items in the set, as the header information for the data items in a set will be similar.
The step of processing the data signals preferably includes defining a time period, such that all data items received within said time period are identified as a set. This time period is chosen to accommodate the maximum misalignment of the heads. The step includes identifying a predetermined point, such as the end of a data item, to determine when it is received.
The step of processing the data signals includes identifying the start of each time period by receipt of a predetermined point, such as the end of a single data item from any given channel or of at least two data items simultaneously from different channels. The step also includes determining the end of the time period by the time taken to receive a data item, or the receipt of the start of another data item.
According to a fourth aspect of the invention there is provided a computer readable medium having stored therein instructions for causing a processing unit to execute the method of the third aspect of the invention.
The computer readable medium, although not limited to, may be any one of the following: a floppy disk, a CDROM, a DVD ROM/RAM, a ZIP(trademark) disk, a magneto optical disc, a hard drive, a transmitted signal (including an internet download, file transfer, etc.).